package constants

const (
	// 管理员角色名称
	AdminRoleName = "admin"
	// 管理员用户名
	AdminName = "admin"

	// 构建中
	BuildStatus = "BUILDING"
	// 已结束
	EndStatus = "END"
	// 构建失败
	FailureStatus = "FAILURE"
)

// 项目类型
const (
	// 无
	None int8 = iota
	// 凭证
	Credential
	// k8s集群
	K8sCluster
	// 服务器
	Server
	// 环境
	Env
	// 项目
	Item
)

// 节点状态
const (
	// 已创建
	NodeStatusCreate = "create"
	// 已通过
	NodeStatusPass = "pass"
	// 不通过
	NodeStatusReject = "reject"
	// 审批中
	NodeStatusApproving = "approving"
	// 取消
	NodeStatusCancel = "cancel"
)

// 工作流状态
const (
	// 运行中
	WorkflowInstanceStatusRunning = "running"
	// 已暂停
	WorkflowInstanceStatusPause = "pause"
	// 审批中
	WorkflowInstanceStatusApproving = "approving"
	// 已完成
	WorkflowInstanceStatusComplete = "complete"
	// 已拒绝
	WorkflowInstanceStatusReject = "reject"
	// 已取消
	WorkflowInstanceStatusCancel = "cancel"
)

// 节点类型
const (
	// 开始节点
	NodeTypeStart = 0
	// 审批节点
	NodeTypeApprove = 1
	// 抄送节点
	NodeTypeCc = 2
	// 条件节点
	NodeTypeCondition = 4
	// 条件节点子节点
	NodeTypeConditionChild = 3
)

// 节点操作类型
const (
	// 开始操作
	NodeActionTypeStart = 0
	// 或签通过操作
	NodeActionTypeOrApprove = 1
	// 会签通过操作
	NodeActionTypeAndApprove = 12
	// 评论操作
	NodeActionTypeComment = 13
	// 拒绝操作
	NodeActionTypeReject = 14
	// 转让操作
	NodeActionTypeTransfer = 15
	// 抄送操作
	NodeActionTypeCc = 2
	// 条件操作
	NodeActionTypeCondition = 4
	// 取消操作
	NodeActionTypeCancel = 99
)

// approve类型
const (
	// 同意
	ApproveTypeComplete = 1
	// 拒绝
	ApproveTypeReject = 2
	// 评论
	ApproveTypeComment = 3
)

// 工作流紧急程度
const (
	PriorityUrgent = 1
	PriorityNormal = 0
	PriorityLow    = -1
)

const (
	// 节点审批权限类型
	NodeAssigneeTypeUser = 1
	NodeAssigneeTypeRole = 2
)
